/*
功能列表
1，全选功能
选中所有行，汇总价格
2，单选功能
选中或取消选中一行
3，数量加减按钮
增减商品数量，计算小计价格
4，删除按钮
移除当前行，重新计算总计价格
5，删除被选中的商品

*/

// 获取所有加减按钮(得到的是一个数组)
var add = document.querySelectorAll(".Increase");
var reduce = document.querySelectorAll(".Reduce");
// 获取所有文本框
var inputs = document.querySelectorAll(".unum");
// 获取所有行
var rows = document.querySelectorAll(".rows");
// 获取所有单选框
var chooses = document.querySelectorAll(".choose");
// 获取所有全选按钮
var choose_alls = document.querySelectorAll(".choose_all");
// 获取所有删除按钮
var btn_dels = document.querySelectorAll(".btn-del");
// 删除选中的商品
var del_check = document.querySelector(".del_check");
// 获取前往订单的按钮
var btn_pay_fr = document.getElementById("payfr");


var increases = document.getElementsByClassName("Increase");
var reduce = document.getElementsByClassName("Reduce")



//用于打开页面时统计每个商品的小计价格
function setUprice() {
    // 重新获取行
    rows = document.querySelectorAll(".rows");
    // 遍历所有行
    for (var i = 0; i < rows.length; i++) {
        // 获取单价（得到的是字符串，不是数字，需要转化）
        var unitprice = rows[i].querySelector(".unit").innerHTML;
        console.log(unitprice);
        // 获取商品数量
        var num = rows[i].querySelector(".unum").value;
        // 把单价，商品数量转化为数字
        unitprice = Number(unitprice);
        num = Number(num);
        // 计算商品现在的小计价格
        var uprice = num * unitprice;
        // 保留两位小数
        uprice = uprice.toFixed(2);

        // 把总计放在它应在的位置
        var utotalPrice = rows[i].querySelector(".u-price");
        utotalPrice.innerHTML = uprice;
    }
}
setUprice();


// 计算总计价格 & 计算选中的商品总数 & 同时判断是否全选
function setTotal() {
    var total = 0;  // 商品总价
    var allNum = 0; // 商品总数
    // 重新获取行
    rows = document.querySelectorAll(".rows");
    // 遍历所有行
    for (var i = 0; i < rows.length; i++) {
            // 获取小计价格（得到的是字符串，不是数字，需要转化）
            var smallTotal = rows[i].querySelector(".u-price").innerHTML;
            // 获取商品数量
            var num = rows[i].querySelector(".unum").value;
            // 把小计价格转化为数字
            smallTotal = Number(smallTotal);
            total += smallTotal;
            // 计算商品总数
            num = Number(num);
            allNum += num;
    }
    // 把总计放在它应在的位置
    var totalPrice = document.querySelector(".t-price");
    totalPrice.innerHTML = "￥" + total.toFixed(2);
    // 设置商品总数
    document.querySelector(".t-number").innerHTML = allNum;
}
setTotal();

var logout = document.getElementById("btn-logout");

logout.addEventListener('click',onLogoutClick)

function onLogoutClick()
{
    console.log("logout")
    $.ajax(
        {
            type: 'GET',
            url: 'http://localhost:8022/logout',
            success: function (data)
            {
                console.log(data)
                if(data === 'success')
                {
                    window.location='http://localhost:8022/signIn'
                }
                else
                {
                    window.showAlert('注销失败')
                }
            },
            error: function (errorMag)
            {
                window.alert('注销失败')
                console.log(errorMag)
            }
        })
}

// //绑定加减事件
// for (var i = 0, l = increases.length; i < l; i++)
// {
//     increases[i].addEventListener("click", doIncrease);
//     reduce[i].addEventListener("click", doReduce);
//     console.log(increases[i]);
// }
//
// function doIncrease() {
//     var id = this.getAttribute("id")
//     $.ajax(
//         {
//             type: 'POST',
//             url: 'http://localhost:8080/petstore/cartEdit?itemId=' + id + '&type=1',
//             success: function (data) {
//                 console.log(data)
//                 if(data === "0")
//                 {
//                     var row = document.getElementById("row"+id);
//                     row.remove();
//                     setTotal();
//                 }
//                 else
//                 {
//                     document.getElementById("ip" + id).setAttribute("value", data)
//                     var price = Number(document.getElementById("price" + id).innerText)
//                     document.getElementById("up" + id).innerHTML = (price * Number(data)).toFixed(2).toString();
//                     setTotal();
//                 }
//             },
//             error: function (errorMsg) {
//                 console.log("fail")
//                 console.log(errorMsg);
//             },
//         })
// }
//
// function doReduce() {
//     var id = this.getAttribute("id")
//     $.ajax(
//         {
//             type: 'POST',
//             url: 'http://localhost:8080/petstore/cartEdit?itemId=' + id + '&type=0',
//             success: function (data) {
//                 console.log(data)
//                 if(data === "0")
//                 {
//                     var row = document.getElementById("row"+id);
//                     row.remove();
//                     setTotal();
//                 }
//                 else
//                 {
//                     document.getElementById("ip" + id).setAttribute("value", data);
//                     var price = Number(document.getElementById("price" + id).innerText)
//                     document.getElementById("up" + id).innerHTML = (price * Number(data)).toFixed(2).toString();
//                     setTotal();
//                 }
//             },
//             error: function (errorMsg) {
//                 console.log("fail")
//                 console.log(errorMsg);
//             },
//         })
// }


// // 删除当前行
// for (var i = 0; i < btn_dels.length; i++)
// {
//     btn_dels[i].onclick = doDel;
// }

// 删除选中行
// del_check.onclick = function () {
//     rows = document.querySelectorAll(".rows");
//     for (var i = 0; i < rows.length; i++) {
//         var checkbox = rows[i].querySelector(".choose");
//         if (checkbox.checked) {
//             var id = checkbox.getAttribute("id")
//             document.getElementById("del"+id).onclick();
//         }
//     }
// }

// function doDel()
// {
//     var id = this.getAttribute("id");
//     var reg = new RegExp("del")
//     id = id.replace(reg,"");
//     $.ajax(
//         {
//             type: 'POST',
//             url: 'http://localhost:8080/petstore/cartEdit?itemId=' + id + '&type=-1',
//             success: function (data)
//             {
//                 if(data === "0")
//                 {
//                     console.log(id);
//                     var row = document.getElementById("row"+id);
//                     console.log(row);
//                     row.remove();
//                     setTotal();
//                 }
//                 else
//                 {
//                     document.getElementById("ip" + id).setAttribute("value", data);
//                     var price = Number(document.getElementById("price" + id).innerText)
//                     document.getElementById("up" + id).innerHTML = (price * Number(data)).toFixed(2).toString();
//                     setTotal();
//                 }
//             },
//             error: function (errorMsg)
//             {
//                 console.log("fail")
//                 console.log(errorMsg);
//             },
//         })
// }

//
// //保存勾选框状态
// function save_storage() {
//     var check_val = [];
//     for (k in chooses) {
//         if (chooses[k].checked) {
//             check_val.push(chooses[k].id);
//         }
//     }
//     sessionStorage.setItem("inf", JSON.stringify(check_val));
// }
//
// function set_select() {
//     var name = "";
//     var check_val = JSON.parse(sessionStorage.getItem('inf'));
//     if (check_val)
//         for (j in check_val) {
//             name = name.concat(check_val[j] + "," + "");
//             var names = name.split(",");
//             for (var i = 0; i < chooses.length; i++) {
//                 for (var n = 0; n < chooses.length; n++) {
//                     if (names[n] === chooses[i].id) {
//                         chooses[i].checked = true;
//                     }
//                 }
//             }
//         }
//     jumpTo();
//     setTotal();
// }
//
//  set_select();
//
//更改结账按钮状态
// function jumpTo() {
//     for (var i = 0; i < chooses.length; i++) {
//         if (chooses[i].checked == true) {
//             btn_pay_fr.disabled = false;
//             btn_pay_fr.removeAttribute("style");
//             break;
//         } else {
//             btn_pay_fr.disabled = true;
//             btn_pay_fr.style.backgroundColor = "grey";
//         }
//     }
// }
//
//
// // 给所有的加减按钮绑定点击事件
// for (var i = 0; i < add.length; i++) {
//     add[i].onclick = function () {
//
//         // 获取对应的父节点
//         var amount = this.parentNode;
//         // 获取文本框
//         var input = amount.querySelector(".unum");
//         // 获取文本框中的数量
//         var num = input.value;
//         num++;
//
//         // 修改文本框的值
//         input.value = num;
//
//
//         // 计算小计
//         // 获取当前行
//         var tr = amount.parentNode.parentNode;
//         // 获取商品单价
//         var unit = tr.querySelector(".unit");
//         var price = unit.innerHTML;
//         // 重新计算小计价格
//         smallTotal = num * price;
//         // 保留两位小数
//         smallTotal = smallTotal.toFixed(2);
//
//         // 将计算好的小计价格设置给金额
//         var u_price = tr.querySelector(".u-price");
//         u_price.innerHTML = smallTotal;
//
//         // 使当前行被选中
//         var choose = tr.querySelector(".choose");
//         // 把它当成逻辑变量，赋true false也可以
//         choose.checked = "checked";
//         if (choose.checked)
//             save_storage();
//         // 计算总计
//         setTotal();
//         jumpTo();
//     }
// }
//
// for (var i = 0; i < reduce.length; i++) {
//     reduce[i].onclick = function () {
//
//         // 获取对应的父节点
//         var amount = this.parentNode;
//         // 获取文本框
//         var input = amount.querySelector(".unum");
//         // 获取文本框中的数量
//         var num = input.value;
//         if (num > 1) {
//             num--;
//         }
//         // 修改文本框的值
//         input.value = num;
//
//         // 计算小计
//         // 获取当前行
//         var tr = amount.parentNode.parentNode;
//         // 获取商品单价
//         var unit = tr.querySelector(".unit");
//         var price = unit.innerHTML;
//         // 重新计算小计价格
//         smallTotal = num * price;
//         // 保留两位小数
//         smallTotal = smallTotal.toFixed(2);
//
//         // 将计算好的小计价格设置给金额
//         var u_price = tr.querySelector(".u-price");
//         u_price.innerHTML = smallTotal;
//
//         // 使当前行被选中
//         var choose = tr.querySelector(".choose");
//         // 把它当成逻辑变量，赋true false也可以
//         choose.checked = "checked";
//         if (choose.checked)
//             save_storage();
//         setTotal();
//         jumpTo();
//     }
// }
//
// 用户手动修改文本框中的商品数量
// for (var i = 0; i < inputs.length; i++) {
//     // 给每个文本框绑定 失焦 事件
//     inputs[i].onblur = function () {
//         // 防止出现负数
//         if (this.value < 1) {
//             this.value = 1;
//         }
//         // 防止输入小数或其它字符
//         this.value = parseInt(this.value);
//
//         // 计算小计
//         // 获取当前行
//         var tr = this.parentNode.parentNode.parentNode;
//         // 获取商品单价
//         var unit = tr.querySelector(".unit");
//         var price = unit.innerHTML;
//         // 重新计算小计价格
//         smallTotal = this.value * price;
//         // 保留两位小数
//         smallTotal = smallTotal.toFixed(2);
//
//         // 将计算好的小计价格设置给金额
//         var u_price = tr.querySelector(".u-price");
//         u_price.innerHTML = smallTotal;
//
//         // 使当前行被选中
//         var choose = tr.querySelector(".choose");
//         // 把它当成逻辑变量，赋true false也可以
//         choose.checked = "checked";
//         if (choose.checked)
//             save_storage();
//         setTotal();
//         jumpTo();
//     }
// }
//

// // 单选框点击事件
// for (var i = 0; i < chooses.length; i++) {
//     chooses[i].onclick = function () {
//         // 求一下总计就行
//         setTotal();
//         jumpTo();
//     }
// }

// // 全选框点击事件
// for (var i = 0; i < choose_alls.length; i++) {
//     choose_alls[i].onclick = function () {
//         // 全选/全不选所有单选框
//         for (var i = 0; i < rows.length; i++) {
//             var checkbox = rows[i].querySelector(".choose");
//             checkbox.checked = this.checked;
//         }
//         // 与另外一个全选框联动
//         choose_alls[0].checked = this.checked;
//         choose_alls[1].checked = this.checked;
//         // 计算总计
//         setTotal();
//         jumpTo();
//     }
// }



